#include<stdio.h>
#include<signal.h>
#include<unistd.h>
#include<string.h>
void mysig(int signo)
{
  while(1)
  {
    printf("get a signo: %d\n", signo);
    sleep(1);
  }
}

int main()
{
  struct sigaction act;
  memset(&act, 0, sizeof(act));
  act.sa_handler = mysig;//自定义捕捉信号函数

  sigemptyset(&act.sa_mask);
  sigaddset(&act.sa_mask, 3);//手动屏蔽3号信号

  //本质是修改当前进程的handler函数指针数组的特定内容
  sigaction(2, &act, NULL);
  
  while(1)
  {
    printf("hello sigaction!\n");
    sleep(1);
  }
  return 0;
}
